package com.cha.chaCommon.core.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

@NoArgsConstructor
@AllArgsConstructor
@Data
@TableName("baby_standard_data_table")
public class BabyStandardData {
    /**
     * 自增主键，唯一标识每条标准数据记录
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 宝宝性别，取值为'男'或'女'，用于区分不同性别对应的标准数据
     */
    private String gender;

    /**
     * 对应月龄范围开始值（例如：0表示从出生开始）
     */
    private Integer monthStart;

    /**
     * 对应月龄范围结束值（例如：12表示到12个月），对于身高、体重数据最大到168个月（对应14岁），头围数据最大到7个月
     */
    private Integer monthEnd;

    /**
     * 生长发育曲线中3%位置对应的身高数值，意味着大约有3%的同月龄同性别宝宝身高低于此数值，可能存在生长发育迟缓情况，单位可根据实际情况设定（如厘米）
     */
    private BigDecimal heightPercent3;

    /**
     * 生长发育曲线中50%位置对应的身高数值，代表同月龄同性别宝宝身高的平均值，虽然不是绝对的达标数值，但可作为参考，单位同heightPercent3
     */
    private BigDecimal heightPercent50;

    /**
     * 生长发育曲线中97%位置对应的身高数值，意味着大约有3%的同月龄同性别宝宝身高高于此数值，可能存在生长过速情况，单位同heightPercent3
     */
    private BigDecimal heightPercent97;

    /**
     * 生长发育曲线中3%位置对应的体重数值，意味着大约有3%的同月龄同性别宝宝体重低于此数值，可能存在生长发育迟缓情况，单位可根据实际情况设定（如千克）
     */
    private BigDecimal weightPercent3;

    /**
     * 生长发育曲线中50%位置对应的体重数值，代表同月龄同性别宝宝体重的平均值，虽然不是绝对的达标数值，但可作为参考，单位同weightPercent3
     */
    private BigDecimal weightPercent50;

    /**
     * 生长发育曲线中97%位置对应的体重数值，意味着大约有3%的同月龄同性别宝宝体重高于此数值，可能存在生长过速情况，单位同weightPercent3
     */
    private BigDecimal weightPercent97;

    /**
     * 生长发育曲线中3%位置对应的头围数值，意味着大约有3%的同月龄同性别宝宝头围低于此数值，可能存在生长发育迟缓情况，单位可根据实际情况设定（如厘米），头围数据只记录到7个月对应的标准
     */
    private BigDecimal headAroundPercent3;

    /**
     * 生长发育曲线中50%位置对应的头围数值，代表同月龄同性别宝宝头围的平均值，虽然不是绝对的达标数值，但可作为参考，单位同headAroundPercent3，头围数据只记录到7个月对应的标准
     */
    private BigDecimal headAroundPercent50;

    /**
     * 生长发育曲线中97%位置对应的头围数值，意味着大约有3%的同月龄同性别宝宝头围高于此数值，可能存在生长过速情况，单位同headAroundPercent3，头围数据只记录到7个月对应的标准
     */
    private BigDecimal headAroundPercent97;

    /**
     * 备注信息字段，可用于记录一些关于该阶段标准数据的特殊说明、数据来源、更新时间等额外信息
     */
    private String remarks;
}